package com.vancouver.knows.business.bean;

import com.alibaba.fastjson.annotation.JSONField;

public class UserInfo {
	@JSONField(name = "user_id")
	private String userID;
	
	@JSONField(name = "user_login")
	private String login;
	
	@JSONField(name = "user_email")
	private String email;
	
	@JSONField(name = "display_name")
	private String name;

	@JSONField(name = "userposts_count")
	private String userPostsCount;

	@JSONField(name = "userposts_watching_count")
	private String userPostsWatchingCount;

	@JSONField(name = "user_avatar")
	private String avatar;
	
	@JSONField(name = "total_unread_post_comment")
	private String totalUnReadPostComment;

	@JSONField(name = "total_unread_comment")
	private String totalUnReadComment;

	@JSONField(name = "register_date")
	private String registerDate;

	@JSONField(name = "register_type")
	private RegisterType registerType = new RegisterType();

	@JSONField(name = "user_meta")
	private UserMeta userMeta = new UserMeta();

	@JSONField(name = "user_points_detail")
	public UserPointsDetailsInfo userPointsDetailsInfo = new UserPointsDetailsInfo();

	public String getUserID() {
		return userID;
	}

	public void setUserID(String userID) {
		this.userID = userID;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAvatar() {
		return avatar;
	}

	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}

	public String getTotalUnReadPostComment() {
		return totalUnReadPostComment;
	}

	public void setTotalUnReadPostComment(String totalUnReadPostComment) {
		this.totalUnReadPostComment = totalUnReadPostComment;
	}

	public String getTotalUnReadComment() {
		return totalUnReadComment;
	}

	public void setTotalUnReadComment(String totalUnReadComment) {
		this.totalUnReadComment = totalUnReadComment;
	}

	public String getUserPostsCount() {
		return userPostsCount;
	}

	public void setUserPostsCount(String userPostsCount) {
		this.userPostsCount = userPostsCount;
	}

	public String getUserPostsWatchingCount() {
		return userPostsWatchingCount;
	}

	public void setUserPostsWatchingCount(String userPostsWatchingCount) {
		this.userPostsWatchingCount = userPostsWatchingCount;
	}

	public RegisterType getRegisterType() {
		return registerType;
	}

	public void setRegisterType(RegisterType registerType) {
		this.registerType = registerType;
	}

	public UserMeta getUserMeta() {
		return userMeta;
	}

	public void setUserMeta(UserMeta userMeta) {
		this.userMeta = userMeta;
	}

	public String getRegisterDate() {
		return registerDate;
	}

	public void setRegisterDate(String registerDate) {
		this.registerDate = registerDate;
	}

//	public UserPointsDetailsInfo getUserPointsDetails() {
//		return userPointsDetailsInfo;
//	}
//
//	public void setUserPointsDetails(UserPointsDetailsInfo userPointsDetailsInfo) {
//		this.userPointsDetailsInfo = userPointsDetailsInfo;
//	}

	/**
	 * 积分详情
	 * Created by LLF on 2016/4/27.
	 */
	public static class UserPointsDetailsInfo {
		/*
            "comment_points":8,
            "comment_upvote_points":0,
            "points_policy":"https://vancoolver.ca/point_policy.html",
            "points_store":"https://vancoolver.ca/point_store.html",
            "post_points":0,
            "post_upvote_points":0,
            "redeemed_points":0,
            "total_points":8,
            "upvote_points":0
         */
		@JSONField(name = "comment_points")
		private String commentPoints;
		@JSONField(name = "comment_upvote_points")
		private String commentUpvotePoints;
		@JSONField(name = "points_policy")
		private String pointsPolicy;
		@JSONField(name = "points_store")
		private String pointsStore;
		@JSONField(name = "post_points")
		private String postPoints;
		@JSONField(name = "post_upvote_points")
		private String postUpvotePoints;
		@JSONField(name = "redeemed_points")
		private String redeemedPoints;
		@JSONField(name = "total_points")
		private String totalPoints;
		@JSONField(name = "upvote_points")
		private String upvotePoints;
		@JSONField(name = "image_share_points")
		private String imageSharePoints;

		public String getCommentPoints() {
			return commentPoints;
		}

		public void setCommentPoints(String commentPoints) {
			this.commentPoints = commentPoints;
		}

		public String getCommentUpvotePoints() {
			return commentUpvotePoints;
		}

		public void setCommentUpvotePoints(String commentUpvotePoints) {this.commentUpvotePoints = commentUpvotePoints;}

		public String getPointsPolicy() {
			return pointsPolicy;
		}

		public void setPointsPolicy(String pointsPolicy) {this.pointsPolicy = pointsPolicy;}

		public String getPointsStore() {
			return pointsStore;
		}

		public void setPointsStore(String pointsStore) {
			this.pointsStore = pointsStore;
		}

		public String getPostPoints() {
			return postPoints;
		}

		public void setPostPoints(String postPoints) {
			this.postPoints = postPoints;
		}

		public String getPostUpvotePoints() {
			return postUpvotePoints;
		}

		public void setPostUpvotePoints(String postUpvotePoints) {this.postUpvotePoints = postUpvotePoints;}

		public String getRedeemedPoints() {
			return redeemedPoints;
		}

		public void setRedeemedPoints(String redeemedPoints) {
			this.redeemedPoints = redeemedPoints;
		}

		public String getTotalPoints() {
			return totalPoints;
		}

		public void setTotalPoints(String totalPoints) {
			this.totalPoints = totalPoints;
		}

		public String getUpvotePoints() {
			return upvotePoints;
		}

		public void setUpvotePoints(String upvotePoints) {
			this.upvotePoints = upvotePoints;
		}

		public String getImageSharePoints() {
			return imageSharePoints;
		}

		public void setImageSharePoints(String imageSharePoints) {
			this.imageSharePoints = imageSharePoints;
		}
	}

	public static class UserMeta {

		@JSONField(name = "user_phone")
		private String phone;
		@JSONField(name = "user_email")
		private String email;
		@JSONField(name = "user_city")
		private String city;
		@JSONField(name = "user_avatar")
		private String avatar;

		public String getPhone() {
			return phone;
		}

		public void setPhone(String phone) {
			this.phone = phone;
		}

		public String getEmail() {
			return email;
		}

		public void setEmail(String email) {
			this.email = email;
		}

		public String getCity() {
			return city;
		}

		public void setCity(String city) {
			this.city = city;
		}

		public String getAvatar() {
			return avatar;
		}

		public void setAvatar(String avatar) {
			this.avatar = avatar;
		}
	}

	public static class RegisterType {

		@JSONField(name = "type")
		private String type;
		@JSONField(name = "user_login")
		private String userLogin;

		public String getType() {
			return type;
		}

		public void setType(String type) {
			this.type = type;
		}

		public String getUserLogin() {
			return userLogin;
		}

		public void setUserLogin(String userLogin) {
			this.userLogin = userLogin;
		}
	}

}
